/* PCサイズでのみ表示する */
@media (max-width: 768px) {
    .pc {
        display: none;
    }
}
/* モバイルサイズでのみ表示する */
@media (min-width: 769px) {
    .mb {
        display: none;
    }
}

html {
    height: 100%;
}

@media (min-width: 769px) {
    .top-page {
        height: 100%;
    }
    .body-inner {
        display: flex;
        flex-direction: column;
        min-height: 100%;
    }
    .inner {
        width: 100%;
        max-width: 1000px;
        margin: 0 auto;
        padding-left: 49px;
    }
}
@media all and (min-width: 769px) and (-ms-high-contrast: none) {
    .body-inner {
        height: 100%;   /*IE11対応*/
    }
}
/**********************
 header
**********************/
.header-area{
    background-color:#282828;
}
.au .header-area,
.dev .header-area,
.mr .header-area {
    background-color:#ffffff;
}
@media (min-width: 769px) {
    .header-area {
        display: flex;
        min-height: 70px;
    }
    .own .header-area,
    .dev .header-area,
    .mr .header-area,
    .svn .header-area {
        padding-bottom: 2px;
    }
    .au .header-area {       
        justify-content: space-between;
    }
}
@media (max-width: 768px) {
    .own .header-area, 
    .dev .header-area,
    .mr .header-area,
    .svn .header-area {
        padding-bottom: 10px;
    }
    .au .header-area {
        padding-bottom: 10px;
    }

}

.company-logo-area {
    display: flex;
    flex-shrink: 0; /*IE11対応*/
    align-items: center;
}

@media (min-width: 769px) {
    .company-logo {
        padding: 0 12px 0 15px;
    }
}
@media (max-width: 768px) {
    .own .company-logo,
    .svn .company-logo {
        height: 54px;
        box-sizing: content-box;
        padding-top: 7px;
        padding-bottom: 7px;
        padding-left: 7px;
    }
    .au .company-logo{
        height: 46px;
        box-sizing: content-box;
        padding-left: 15px;
    }
    .dev .company-logo {
        height: 34px;
        box-sizing: border-box;
        padding: 8px 0 8px 20px;
    }
    .mr .company-logo {
        height: 34px;
        box-sizing: border-box;
        padding-top: 7px;
        padding-bottom: 7px;
        padding-left: 20px;
    }
}

@media (min-width: 769px) {
    .manual-title-area {
        flex: 1 1 auto;
    }
}
@media (max-width: 768px) {
    .manual-title-area {
        padding-left: 17px;
        padding-right: 17px;
    }
}

.manual-title {
    color: #ffffff;
    font-size: 20px;
}
.au .manual-title,
.dev .manual-title,
.mr .manual-title {
    color: #000000;
}
@media (min-width: 769px) {
    .manual-title {
        padding-top: 3px;
        padding-bottom: 3px;
        margin-top: 14px;
    }
}
@media (max-width: 768px) {
    .manual-title {
        padding-left: 3px;
        padding-bottom: 2px;
    }
}

.model-logo {
    vertical-align: top;
    height: 20px;
}

@media (min-width: 769px) {
    .header-area > a {
        display: flex;
        align-items: center;
    }
}

.company-log-right {
    max-width: 200px;
}
@media (min-width: 769px) {
    .company-log-right {
        max-height: 86px;   /* 製品ロゴ2段表示時の上限 */
        display: block;
    }
}
@media (max-width: 768px) {
    .company-log-right {
        position: absolute;
        top: 0;
        right: 0;
    }
}

/*********************
 products-top
**********************/
.products-top {
    color: #ffffff;
}

.dev .products-top {
    color: #000000;
}

@media (min-width: 769px) {
    .products-top {
        text-align: right;
        padding: 23px 29px 0px 0px;
        box-sizing: border-box;
        flex-shrink: 0;
        visibility: hidden; /* 製品選択ページありの場合のみproduct.choice.cssで可視化する。 */
    }
}

@media (min-width: 1000px) {
    .products-top {
        width: calc((100vw - 1000px)/2 + 227px + 10px); /* (画面幅 - コンテンツエリア(FAQ～便利機能エリア)幅1000px)/2 がコンテンツ表示部の右余白幅。右余白 + 便利機能エリア幅227px + 10px(最長文字列となる英語ではみ出す分) */
    }
}

@media (min-width: 769px) and (max-width: 999px){
    .products-top {
        width: calc(227px + 10px); /* 便利機能エリア幅227px　+ 10px(最長文字列となる英語ではみ出す分) */
    }
}

@media (max-width: 768px) {
    .products-top {
        padding-left: 17px;
        padding-right: 17px;
        margin-top: 9.5px;
        display: none; /* 製品選択ページありの場合のみproduct.choice.cssで可視化する。 */
    }
}

/*********************
 back-productpage-link
**********************/
.back-productpage-link {
    text-decoration: none;
    font-size: 14px;
}

.back-productpage-link:hover {
    color: #007da8;
    text-decoration: none;
}

/**********************
 beforeuse
**********************/
.beforeuse {
    background-color: #E6E6E6;
}
@media (min-width: 769px) {
    .beforeuse {
        border-bottom: 1px solid #C8C8C8;
    }
}

.beforeuse-area {
    display: flex;
    align-items: center;
}
@media (min-width: 769px) {
    .beforeuse-area { 
        padding-right: 30px;
        justify-content: space-between;
    }
}
@media (max-width: 768px) {
    .beforeuse-area { 
        justify-content: center;
        flex-direction: column;
    }
}

@media (max-width: 768px) {
    .beforeuse-title {
        order: 2;
        height: 69px;
        display: flex;
        align-items: center;
    }
}

.beforeuse-title-link {
    color: #545454;
    font-weight: bold;
    font-size: 14px;
    text-decoration : underline;
    background-image: url(../img/i_icon.svg);
    background-repeat: no-repeat;
    background-position-y: center;
    padding-left: 22px;
    display: inline-block;
    line-height: 30px;
}
.beforeuse-title-link:hover {
    color: #007da8;
    background-image: url(../img/i_icon_hover.svg);
}

.beforeuse-util-area {
    padding-top: 11px; /* .bookmark非表示時のために.beforeuse-util-areaの上下paddingを同値にする。.bookmark表示時は.bookmarkのmarginで調整する。 */
    padding-bottom: 11px;
}
@media (max-width: 768px) {
    .beforeuse-util-area {
        order: 1;
        width: 100%;
        padding: 27px 20px; /* .bookmark非表示時のために.beforeuse-util-areaの上下paddingを同値にする。.bookmark表示時は.bookmarkのmarginで調整する。 */
        display: flex;
        flex-direction: column;
        border-bottom: 1px solid #C8C8C8;
    }
}

@media (min-width: 769px) {
    .bookmark {
        padding-bottom: 8px;
        text-align: right;
        margin-top: -2px; /* .bookmark非表示時のために.beforeuse-util-areaの上下paddingを同値にする。.bookmark表示時は.bookmarkのmarginで調整する。 */
    }
}
@media (max-width: 768px) {
    .bookmark {
        order: 2;
        padding-top: 12px;
        margin-bottom: -7px; /* .bookmark非表示時のために.beforeuse-util-areaの上下paddingを同値にする。.bookmark表示時は.bookmarkのmarginで調整する。 */
    }
}

.showlistmodal {
    background-image : url(../img/top_bookmark_star.svg);
    background-repeat: no-repeat;
    background-size: 18px 18px;
    background-position-y: center;
    padding-left: 20px;
    line-height: 17px;
    font-size: 14px;
    color: #545454;
}
.showlistmodal:hover {
    background-image : url(../img/top_bookmark_star_hover.svg);
    color: #007da8;
    text-decoration: none;
}

@media (max-width: 768px) {
    .search-area {
        order: 1;
    }
}

/**********************
 main
**********************/
.main {
    background-color: #FAFAFA;
}
@media (min-width: 769px) {
    .main {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        align-items: center;    /*IE11対策*/
    }
}

@media (min-width: 769px) {
    .main-area {
        display: flex;
        justify-content: space-between;
        flex: 1 1 auto;
    }
}

.func-sec {
    padding-bottom: 21px;
}

.func-sec-title {
    color: #545454;
    font-size: 12px;
}
@media (min-width: 769px) {
    .func-sec-title {
        padding: 17px 0 8px;
    }
}
@media (max-width: 768px) {
    .func-sec-title {
        text-align: center;
        padding-top: 19px;
        padding-bottom: 6px;
    }
}

@media (max-width: 768px) {
    .area-item {
        padding: 10px 10px;
    }
}

.func-text-link {
    font-size: 14px;
    display: block;
    padding: 8px 12px 8px 6px;
    color: #282828;
    transition: .3s;
    margin-top: 8px;
}
.func-text-link:hover {
    background-color: #007da8;
    color: #f6f6f6;
    transition: .3s;
    text-decoration: none;
}
.func-text-link:visited {
    color: #282828;
}

.func-text-button {
    color: #282828;
    font-size: 14px;
    background-color: #E6E6E6;
    display: block;
    border-radius: 3px;
}
@media (min-width: 769px) {
    .func-text-button {
        margin-right: 12px;
        margin-bottom: 10px;
        padding: 6px 11px 7px;
    }
}
@media (max-width: 768px) {
    .func-text-button {
        margin-top: 25px;
        padding-top: 10px;
        padding-bottom: 10px;
        text-align: center;
    }
}
.func-text-button:hover {
    color: #F6F6F6;
    background-color: #007DA8;
    text-decoration: none;
    transition: .3s;
}

@media (min-width: 769px) {
    .func-items {
        display: flex;
        flex-wrap: wrap;
    }
}

.separator {
    border-bottom-width: 1px;
    border-bottom-style: solid;
}
.separator-gray {
    border-color:  #E6E6E6;
}
.separator-darkgray {
    border-color:  #C8C8C8;
}

/**********************
 navi-area
**********************/
.navi-area {
    width: 100%;
    background-color: #FAFAFA;
}
@media (max-width: 768px) {
    .navi-area {
        padding: 0 30px 0;
    }
}

@media (min-width: 769px) {
    .function-area {
        display: flex;
    }
}

@media (min-width: 769px) and (max-width: 999px) {
    .main-functions {
        width: 280px;
    }
}
@media (min-width: 1000px) {
    .main-functions {
        width: 410px;
    }
}

.basicfunc-items {
    display: flex;
    flex-wrap: wrap;
}
@media (min-width: 769px) and (max-width: 999px) {
    .basicfunc-items {
        margin-right: -20px;
    }
}
@media (min-width: 1000px) {
    .basicfunc-items {
        margin-right: -30px;
    }
}
@media (max-width: 768px) {
    .basicfunc-items {
        padding-top: 20px;
        margin-right: -20px;
    }
}

@media (min-width: 769px) and (max-width: 999px) {
    .basicfunc-item {
        width: 80px;
        margin-right: 20px;
        margin-bottom: 15px;
    }
    .basicfunc-item:last-child {
        margin-bottom: 0px;
    }
}
@media (min-width: 1000px) {
    .basicfunc-item {
        width: 80px;
        margin-right : 30px;
        margin-bottom: 26px;
    }   
}
@media (max-width: 768px) {
    .basicfunc-item {
        width: calc((100% - 20px - 20px - 20px)/3);
        margin-right : 20px;
        margin-bottom: 15px;
    }
    .basicfunc-item:last-child {
        margin-bottom: 0px;
    }
}

.func-box-button {
    background-color: #E6E6E6;
    display: block;
}
.func-box-button:hover {
    background-color: #007da8;
    transition: .3s ;
}

.func-box-button-img {
    width: 100%;
}
.function-name {
    color: #545454;
    font-size: 12px;
    text-align: center;
    padding-top: 2px;
    height: 32px;
}

@media (min-width: 769px) and (max-width: 999px) {
    .other-functions {
        max-width: 394px;
        min-width: 160px;
        width: calc(100% - 280px - 28px);
        margin-left: 28px;
    }
}
@media (min-width: 1000px) {
    .other-functions {
        width: 254px;
        margin-left: 38px;
    }
}

/**********************
faq
***********************/
@media (min-width: 769px) {
    .faq-section {
        padding-bottom: 7px;
    }
}
@media (max-width: 768px) {
    .faq-section {
        padding-bottom: 25px;
    }
}

/**********************
 最新情報
**********************/
#additional-info-book {
    display: none; /* 最新情報冊ありの場合のみJavaScriptで可視化する。 */
}

.no-books {
    display: none;  /* 最新情報冊ありの場合のみJavaScriptで可視化する。 */
}

/**********************
 useful-area
**********************/
.useful-area {
    background-color: #e6e6e6;
}
@media (min-width: 769px) {
    .useful-area {
        width: 227px;
        min-width: 227px;
        padding: 0 20px;
        margin-left: 19px;
    }
}
@media (max-width: 768px) {
    .useful-area {
        padding: 0 30px 0;
    }    
}

/**********************
 footer
**********************/
.footer {
    background-color:#282828;
}
@media (min-width: 769px) {
    .footer{
        width: 100%;
    }   
}

.footer-area{
        display: flex;
    }
@media (min-width: 769px) {
    .footer-area{
        height: 20px;
        justify-content: space-between;
        padding-left: 51px;
        padding-right: 29px;
    }
}
@media (max-width: 768px) {
    .footer-area{
        flex-direction: column;
    }
}

@media (min-width: 769px) {
    .phrase-logo {
        display: flex;
        align-items: center;
    }
}
@media (max-width: 768px) {
    .phrase-logo {
        width: 100%;
        text-align: center;
        order: 1;
    }
    .phrase-logo-img {
        height: 12px;
        margin: 38px auto 31px;
    }
}

.footer-items {
    color:#e6e6e6;
}
@media (min-width: 769px) {
    .footer-items {
        display: flex;
        align-items: center;
    }
}
@media (max-width: 768px) {
    .footer-items {
        text-align: center;
        order: 2;
    }
}

.footer-item {
    color: #e6e6e6;
    font-size: 10px;
}
@media (min-width: 769px) {
    .footer-item {
        padding-right: 30px;
    }
}
@media (max-width: 768px) {
    .footer-item {
        padding-top: 7px;
        padding-bottom: 7px;
    }
}

/**********************
remodal
**********************/
.remodal {
    text-align: left;
}
.remodal-showlist-star {
    width:20px;
    margin-bottom:-4px;
}
.remodal-showlist-star-yellow {
    width:20px;
    margin-bottom:-4px;
}
